Increases in processing capacity and speed have enabled computing systems, both stand-alone and networked, to make information more widely available than ever. Many tools have emerged to promote the efficient management and presentation of information, but software users and developers agree that improvements are still needed.
The ability to present digitized information in a meaningful manner is critical. Current word processing and text editing programs use structured document architectures to provide control and flexibility while presenting information in a desired manner. One approach uses the Standard Generalized Mark-up Language ("SGML") specified in the 1986 International Standards Organization Standard No. 8879. Other mark-up languages are used in Folio infobases, Microsoft Word documents, Corel WordPerfect documents, UNIX troff documents, and various hyperlinks and hypertext.
Most mark-up languages provide "links" which associate a particular, pre-selected location in a primary text file with additional text, images, or other information. By following these links, a user receives additional information that expands or explains information contained in the given text. Application programs such as web browsers and indexed text viewers allow users to follow such links to additional information.
As shown in FIG. 1, links are typically created by embedding control characters, pointers, or other locating or addressing mechanisms 100, 102 within a primary file 104 of text or other information. Such embedded links 106, 108 associate additional information in the primary file 104 (or in other files 110, 112) with predetermined locations in the primary file 104 by working with viewing software to effectively attach the information to the location of the embedded addressing mechanisms 100 or 102. A link can associate a particular location in the primary file 104 with another file 112, or the link can associate a particular location in the primary file 104 with a specific position in the current file 104 or a specific position in another file 110. In general, the embedded links 106, 108 point outward from the primary file 104 to the additional information 110, 112 because the necessary addressing mechanisms 100, 102 are maintained at the "jumping off" location in the primary file 104.
However, maintaining the necessary addressing information 100, 102 within the primary file 104 has drawbacks. Both embedded links, and the viewing or other software that uses the links, must function correctly. This requires careful development and extensive testing. Because of the embedded nature of links such as the links 106, 108, the primary file 104 must be edited every time a change is made in a link. Accordingly, write privileges giving full access to the contents of the primary file 104 must be granted.
Allowing write access to the primary file 104 in order to edit embedded links may be difficult. The primary file 104 may be owned by a different individual or company than the owner of the additional information 110, 112 to which links point. Even if all the information is owned by one company, one group or division may be responsible for the primary file 104 while others are responsible for the additional information 110, 112. Furthermore, development of the primary file 104 may be separate from the development of the additional data or information 110, 112, with the final integration to be performed during an integration and testing phase. Therefore, obtaining the necessary knowledge and understanding of the specific implementation to successfully edit the primary file 104 may require the involvement of that file's developer(s) during the integration phase.
The primary function of links is to provide a mechanism for managing and organizing large amounts of information for dissemination to an audience. This is mainly done by implementing a navigational structure that lets the user traverse the information along well-defined paths. The specific navigational structure implemented is a critical factor in determining both the ease with which one manages and disseminates the information, and the ease with which one traverses and consumes the desired information. Widely-used navigational structures include hierarchical (FIG. 2), linear (FIG. 3), combination of linear and hierarchical (FIG. 4), linear with alternatives (FIG. 5), and web (FIG. 6) structures. These structures are typically implemented using embedded links, but after reading about the present invention those of skill in the art will appreciate that these and other navigational structures may also be implemented without relying solely on embedded links.
As illustrated in FIG. 1, conventional embedded linking implementations are rigid and inflexible because a specific location in the primary file 104 can associate with only one other source of additional information. Typical links 106, 108 are "one-to-one" in that they provide ajump from one location to only one other location. This limits the navigational structures which can be implemented, which in turn makes it harder to disseminate or obtain the desired information. For instance, the navigational structure shown in FIG. 7, which contains three links originating at a single location but jumping to separate destinations, is only approximated by an implementation such as that shown in FIG. 8. Limits imposed by conventional link implementations require the use of three close, but nonetheless separate, locations 800, 802, 804 as starting points.
Thus, it would be an advancement in the art to provide a system and method for providing a linking mechanism which allows direct access to multiple pieces of information from any one location in the primary file.
It would also be an advancement in the art to provide a system and method for modifying mark-up links without editing the primary data file.
Such a system and method for enhanced document linking are disclosed and claimed below.